home *** CD-ROM | disk | FTP | other *** search
/ Aminet 35 / Aminet 35 (2000)(Schatztruhe)[!][Feb 2000].iso / Aminet / dev / misc / FlexCat.lha / Lib / Cat2h_c.sd < prev    next >
Encoding:
Text File  |  1999-11-28  |  1.8 KB  |  97 lines

  1.  
  2. ##rem $Id: Cat2h_c.sd,v 1.2 1999/11/28 03:36:41 carlos Exp $
  3.  
  4. /****************************************************************
  5.  
  6.    This file was created automatically by `%fv'
  7.    from "%f0"
  8.  
  9.    using Cat2h_c.sd 1.0 (23.05.97)
  10.  
  11.    Do NOT edit by hand!
  12.  
  13. ****************************************************************/
  14.  
  15. ##stringtype C
  16.  
  17. #ifdef __SASC
  18. #define __USE_SYSBASE 1
  19. #include <proto/exec.h>
  20. #include <proto/locale.h>
  21. #else
  22. #include <clib/exec_protos.h>
  23. #include <clib/locale_protos.h>
  24. #endif
  25.  
  26.  
  27. struct Library          *LocaleBase;
  28. static struct Catalog   *Catalog;
  29.  
  30.  
  31. /* No support for version number or other builtin language for now.
  32.  * Not often used (in my experience), and easy to add if you should
  33.  * need it.
  34.  *
  35.  * We open it at a high priority during autoinit (for SAS/C), to allow
  36.  * the use of GetString in lower priority autoinit code.
  37.  */
  38. #ifdef _DCC
  39. __autoinit
  40. #endif
  41. VOID
  42. #ifdef __SASC
  43. _STI_19000_GetCatalog( VOID )
  44. #else
  45. GetCatalog( VOID )
  46. #endif
  47. {
  48.         if( LocaleBase = OpenLibrary( "locale.library", 0 ) )
  49.         {
  50.                 Catalog = OpenCatalogA( NULL, "%b.catalog", NULL );
  51.         }
  52. }
  53.  
  54.  
  55. #ifdef _DCC
  56. __autoexit
  57. #endif
  58. VOID
  59. #ifdef __SASC
  60. _STD_19000_FreeCatalog( VOID )
  61. #else
  62. FreeCatalog( VOID )
  63. #endif
  64. {
  65.         if( LocaleBase )
  66.         {
  67.                 CloseCatalog( Catalog );
  68.                 CloseLibrary( LocaleBase );
  69.         }
  70.  
  71.         Catalog = NULL;
  72.         LocaleBase = NULL;
  73. }
  74.  
  75.  
  76. STRPTR
  77. GetString( STRPTR str )
  78. {
  79.         ULONG   id;
  80.  
  81.         if( !str )
  82.         {
  83.                 /* Avoid Enforcer hits... */
  84.                 return( NULL );
  85.         }
  86.  
  87.         /* Avoid any problems regarding char not being unsigned */
  88.         id = ( ( ( UBYTE ) *str++ ) << 8 ) | ( ( UBYTE ) *str++ );
  89.  
  90.         if( Catalog )
  91.         {
  92.                 str = GetCatalogStr( Catalog, id, str );
  93.         }
  94.  
  95.         return( str );
  96. }
  97.